export interface IState {
    user: {
        id: number,
        content: string,
        username: string;
        msg_state: boolean;
        role: string;
        token: string;
        author_img: string;
    }
}

export interface IAction {
    type: string,
    payload?: any
}

export interface ILogin {
    username: string;
    password: string;
}

export interface IProps {
    onLogin: (value: ILogin) => void;
}

export interface IPageObj {
    pagenum: number;
    pagesize: number;
    query: string;
}

export interface IUser {
    id: number;
    rid: number;
    username: string;
    email: string;
    mobile: string;
    mg_state: boolean;
    key?: number | string;
}

export interface IUserForm {
    id?: number;
    username: string;
    email?: string;
    mobile?: string;
    password?: string;
}

export interface IRightList {
    authName: string;
    id: number;
    key?: number;
    level: string;
    path: string;
    pid: number;
}

export interface IRoleList {
    id: number;
    key?: number;
    roleDesc: string;
    roleName: string;
    children?: any
}

export interface IRoleAdd {
    roleName: string;
    roleDesc: string;
    id?: number;
}

export interface IGoods {
    _id: string;
    goods_name: string;
    price: number;
    weight?: number;
    tabs?: string;
    category: string;
    goods: boolean;
    fresh?: number;
    sweetness?: number;
    label?: string[];
    img: string;
    img_detail: string[];
    recommend:boolean;
    img_foot:[]
}

export interface IPath{
    tab: string
}

export interface IShopCar{
    count:number;
    cutlery:any;
    goods_name: string;
    img: string;
    price:number;
    specs:string;
    user_id: string;
    _id: string;
    onCar?:boolean
}

export interface IAddress{
    address_city: string;
    address_contacts: string;
    address_phone: string;
    address_town: string;
    _id: string;
    user_id: string;
}